﻿' LibWowArmory
' by Ronald M. Clifford (roncli@roncli.com)
'
' This source code is released under the GNU Library General Public License (LGPL) Version 2.1.

Namespace roncliProductions.LibWowArmory.Item.Info

    ''' <summary>
    ''' A class that encapsulates an item bought with currency
    ''' </summary>
    ''' <remarks></remarks>
    Public Class CurrencyItem

        ''' <summary>
        ''' The cost of the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Cost As ItemCost

        ''' <summary>
        ''' The filename of the icon of the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Icon As String

        ''' <summary>
        ''' The identification number of the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ItemID As Integer

        ''' <summary>
        ''' The level of the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Level As Integer

        ''' <summary>
        ''' The name of the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Name As String

        ''' <summary>
        ''' The quality of the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Quality As Enums.RarityType

        ''' <summary>
        ''' The required profession to use the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property RequiredSkill As String

        ''' <summary>
        ''' The required skill rank to use the item bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property RequiredSkillRank As Integer

        ''' <summary>
        ''' The type of item that can be bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property ItemType As String

        ''' <summary>
        ''' The item that can be bought with the currency
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public ReadOnly Property Item As ItemInfo
            Get
                Return New ItemInfo(ItemID)
            End Get
        End Property

        ''' <summary>
        ''' A constructor to create a new item that's bought with currency
        ''' </summary>
        ''' <param name="cCost"></param>
        ''' <param name="strIcon"></param>
        ''' <param name="intID"></param>
        ''' <param name="intLevel"></param>
        ''' <param name="strName"></param>
        ''' <param name="rQuality"></param>
        ''' <param name="strRequiredSkill"></param>
        ''' <param name="intRequiredSkillRank"></param>
        ''' <param name="strType"></param>
        ''' <remarks></remarks>
        Public Sub New(ByVal cCost As ItemCost, ByVal strIcon As String, ByVal intID As Integer, ByVal intLevel As Integer, ByVal strName As String, ByVal rQuality As Enums.RarityType, ByVal strRequiredSkill As String, ByVal intRequiredSkillRank As Integer, ByVal strType As String)
            Cost = cCost
            Icon = strIcon
            ItemID = intID
            Level = intLevel
            Name = strName
            Quality = rQuality
            RequiredSkill = strRequiredSkill
            RequiredSkillRank = intRequiredSkillRank
            ItemType = strType
        End Sub
    End Class

End Namespace
